package cn.bm.web.db;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class RedisConnectionPool {
    private static JedisPool jedisPool;

    static {
        // 初始化JedisPoolConfig
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(100); // 最大连接数
        config.setMaxIdle(20); // 最大空闲连接数
        config.setMinIdle(10); // 最小空闲连接数

        // 初始化JedisPool
        jedisPool = new JedisPool(config, "localhost", 6379); // 假设Redis运行在localhost的6379端口
    }

    public static Jedis getConnection() {
        try {
            // 从连接池中获取连接
            return jedisPool.getResource();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    // 关闭连接池
    public static void closePool() {
        try{
            jedisPool.close();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}